Secure digital coupon display and reading

ABSTRACT

A code is displayed on a screen with a first set of indicia, the code designed to be read only by a computer system. A second code is displayed only when it is determined that the code is being read. This determination is made by an optical sensor, such as a camera, detecting a particular wavelength of light above a threshold, the wavelength associated with an expected reader device. While the particular wavelength is detected the second code is displayed. Once the light is no longer detected, the display reverts back to the first code. In this manner, the second code, such as a barcode to be read is only displayed while the barcode is actually being read, but is otherwise hidden from view. The entire process can take place in under a second or in a fraction of a second, such as 1/10th of a second or less.

FIELD OF THE DISCLOSED TECHNOLOGY

The disclosed technology relates generally to data displayed in anencoded format and reading thereof, and more specifically, to a methodof displaying the encoded data only substantially while the data isbeing read.

BACKGROUND OF THE DISCLOSED TECHNOLOGY

Barcodes are display codes designed to be read by machine and translatedinto a string of alphanumeric text or other usable data. They come inmany forms, some of which are standardized by the InternationalStandards Organization (e.g. code 39 and ISO 15420). Two-dimensionalcodes are also used, some of which are known as “QR” codes.

For purposes of this disclosure, a barcode is defined as a code designedto be read by a computer or an electronic scanner, to the exclusion of ahuman, which has data stored therein. Such barcodes are typicallyscanned by optical scanners or “barcode readers” which function byshining an LED or laser light beam at a barcode and measuring thereflected response with a photoelectric cell.

Barcodes work great for identifying a product where low security isneeded or there are other forms of security such as a human checking theresult against, for example, a product they are looking at while ringingup an item for purchase. However, when higher security is needed,barcodes fail because they can very easily be reproduced. For example,if one has a coupon for 50% off an item, one can make thousands ofcopies and distribute this to others who can then take advantage of thecopy. If the coupon or other data represented on a barcode is to only beused once, one must have a backend system of determining if the barcodehas already been used. Where, for example, the barcode could be used atone of thousands of locations, this is often expensive or impractical.

Therefore, what is needed is a way to use a barcode or other codedsystem, the code being readable by current barcode reading technology(laser, LED, photograph or other optical scanners and sensors) which hashigher security than known at the present time.

SUMMARY OF THE DISCLOSED TECHNOLOGY

Therefore, embodiments of the disclosed technology function bydisplaying a barcode on a screen only when it is determined that thebarcode is being read. First, a “dummy” barcode or other code of somekind is displayed on a screen and when a camera determines that a laseror LED light of a particular wavelength, and above a thresholdintensity, is being shined at the screen, the “real” or second barcodeis displayed. As soon as the barcode is no longer being read, the firstbarcode or other code is then displayed again. In this manner, the“real” barcode is only displayed when the barcode reader is readingsame. As such, during typical usage, the second barcode is hidden fromview of a user and not displayed on the screen ordinarily, preventing,at least, casual copying of the barcode.

More specifically, in a method of authentication of a code, one exhibitsa first code on a screen visible to a user such as an LED (lightemitting diode) or other screen of a handheld transceiver. This deviceon which the code is being exhibited also has a camera on the same sideof the device/facing perpendicular to the plane of the screen, or atleast a part thereof. The camera detects a specific wavelength of lightabove a threshold of intensity. The threshold of intensity is alwaysmore than ambient light received at the particular wavelength and insome embodiments determined by a particular wavelength received, beingat least double the lux of other non-reading wavelength or controlwavelengths received (such as those, for example, in the blue spectrumwhen read with a reader using the red part of the spectrum). In responseto the detecting of the specific wavelength above the threshold by thecamera (defined as a light sensor with capability to differentiatebetween different wavelengths of light, for purposes of this disclosure)the first code displayed on the screen is changed to a second code, suchas a barcode. When the reading of the barcode is no longer detected(e.g. light at the specific wavelength or range of wavelengths ceases tobe detected by the camera) the second code is no longer exhibited.

It should be further understood that when “wavelength” is used, this isinclusive of a range of wavelengths around a particular wavelength. Forexample, a red laser is typically at 650 nanometers wavelength. Therange of the wavelength for detection purposes can be plus or minus 10nanometers or another margin of error defined by the operator of themethods of the disclosed technology.

The specific wavelength of light which is detected can pass across notonly the camera (optical sensor) but also at least a part of the firstcode, and in turn, the second code displayed on the screen. Aconfirmation is received indicating that the second code has been read,in some embodiments of the disclosed technology. Such a confirmation canbe an audible beep, a confirmation sent wirelessly to the devicedisplaying the barcode, or a different wavelength of light or codedpulse of light sent to the camera of the device displaying the barcode.

The second code is displayed on the screen only while the wavelength oflight above a threshold of intensity is detected by the camera. As soonas the wavelength above the threshold is undetected for any reason, insome embodiments of the disclosed technology, the second code is nolonger displayed as a security measure. The barcodes and other codesused can be intended such that only a computer system (device iselectro-optical sensor and silicon-based processor or the equivalent)can read (defined as “interpret” or “translate”) the code into anotherform, such as alphanumeric characters. The second code can be a coupon(defined as an item which, when redeemed, provides a discount on apurchase).

Authentication feedback can be given. This is carried out by receivingdata representative of the first code from another device, indicatingthat the first code has been read and in response to the receiving datarepresentative of the first code and the detection of same, the secondcode is displayed. Thus, it is verified that the first code has beenread before displaying the second code, and it is further verified thatthere is a light beam shining on the code at present. Only then is thesecond code displayed. Then the process repeats with receiving anotification that the second code has been read, and the display of thesecond code reverts back to displaying the first code. This reversioncan always take place when the light from the code reader is no longerdetected. The manner in which the confirmation from the reading devicethat the first and second code have been read can include coded pulsesof light sent to the camera of the device displaying the codes.

Any of the methods described above can be carried out alone or incombination in under half a second, one second, or three seconds.

A method of authenticating a displayed code can also be described asfollows. One shines a laser or LED light of a discrete wavelength (onein which at least 90% of the light is within a 50 nanometer range)across a first code displayed on a screen of a device, causing thedevice to change the display to a second code. One then reads the secondcode based on a reflection of the laser or the LED light and disengagesthe shining of the laser or LED light on the screen of the device. Thefirst code and the second code can be barcodes.

Described another way, a barcode can be displayed by exhibiting a visualrepresentation of a first code on a screen of a device. Once determinedthat the barcode has been read, then a second bar code is displayed.Once it is then determined that the second barcode has been read, thedisplay reverts back to displaying the first barcode.

The determinations that the barcodes have been read can be made in avariety of ways including detecting a laser beam hitting the device,such as by use of a camera on a same side of the device as the screen.Another way of making the determination is time-based. After aparticular period of time, it can be determined that the second bar codehas been “read” and the display reverts back to displaying the firstbarcode, such as after one second or half a second or even a tenth of asecond, depending on the embodiment. Audible sound of a specificfrequency emitted by a barcode reader can also be used as thedetermining factor. For example, the barcode reader may “beep” uponreading the barcode. Lack of receiving a laser beam (which, for purposesof this disclosure, unless stated otherwise, also includes any othertype of barcode reader such as an LED light) can be used to determinethat the second barcode is no longer being read. A change in frequencyor intensity, or a different pulsation rate of the light emitting fromthe barcode reader can also be used to make such a determination.

Any device or step to a method described in this disclosure can compriseor consist of that which it is a part of, or the parts which make up thedevice or step. The term “and/or” is inclusive of the items which itjoins linguistically and each item by itself. “Substantially” is definedas “at least 95% of the term being described” and any device or aspectof a device or method described herein can be read as “comprising” or“consisting” thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a code displayed on a screen and a code reading device usedin embodiments of the disclosed technology.

FIG. 2 shows the steps carried out to display and read codes ofembodiments of the disclosed technology.

FIG. 3 is a high-level device diagram of devices used in embodiments ofdisclosed technology.

FIG. 4 shows a high-level block diagram of a device that may be used tocarry out the disclosed technology.

FIG. 5A is a photograph of a code reading device, as seen by a camera ofa display device.

FIG. 5B is a grey-scale image of the photograph of FIG. 5A with eachcolor representative of a range of brightness.

FIG. 5C shows lines drawn over the greatest differences in brightnessover smallest portion of the image of FIG. 5B.

FIG. 6A is a photograph of the code reading device of FIG. 5A, while thecode reading device is actively scanning for a code.

FIG. 6B is a grey-scale image of the photograph of FIG. 6A with eachcolor representative of a range of brightness.

FIG. 6C shows lines drawn over the greatest differences in brightnessover smallest portion of the image of FIG. 6B.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE DISCLOSED TECHNOLOGY

A code is displayed on a screen with a first set of indicia, the codedesigned to be read only by a computer system. A second code isdisplayed only when it is determined that the first code is being read.This determination is made by an optical sensor, such as a camera,detecting a particular wavelength of light above a threshold, thewavelength associated with an expected reader device. While theparticular wavelength is detected the second code is displayed. Once thelight is no longer detected, the display reverts back to the first code.In this manner, the second code, such as a barcode to be read, is onlydisplayed while the barcode is actually being read, but is otherwisehidden from view. The entire process can take place in under a second orin a fraction of a second, such as 1/10th of a second or less.

Embodiments of the disclosed technology are described below, withreference to the figures provided.

FIG. 1 shows a code displayed on a screen and a code reading device usedin embodiments of the disclosed technology. A display device 100 isshown next to a code or barcode reader 200. The display device 100 has afront side 110 with a camera or optical sensor 130 and a display orscreen 120. On the display or screen 120 is a barcode or other code 150.This is encoded data designed to be read by a computer system (forpurposes of this disclosure, a computer system is a non-human andnon-life form having a processor which carries out coded instructions).The display can be an LED (light emitting diode) display or any otherdisplay capable of changing in real-time (“real-time” defined as under50 ms). The displayed code 150 is changed to another code after theoptical sensor or camera 150 detects that the code is being read. Thiswill be explained in more detail with reference to FIG. 2.

Still referring to FIG. 1, the barcode or code reader 200 has an opticalsensor 230 which also comprises a transmitter in some embodiments, suchas a laser light or LED transmitter. In this manner, light istransmitted to the front surface 110 of the display device 100 which isexhibiting a first code 150. Upon detection of this light, the code 150changes to a second such code and this second code is read by the codereader by way of an input, such as the optical sensor 230. The codereader 200 further can have a switch 240 to activate transmission of thelight source and read the code. A status display or light 210 can beused, as well as an input/output 220. The input/output 220 can includean audible sound or “beep” (noise at a specific frequency for less thanone second) which can be detected by a sensor on the display device 110,as an indication that the second code has been read, such that thedisplay device 110 reverts back to showing the first code, or, at leastanother code. The input/output 220 can also be a wireless transmitter orreceive said communications wirelessly with the display device 110 toconfirm the code 150 has been read.

FIG. 2 shows steps carried out to display and read codes of embodimentsof the disclosed technology. Steps generally carried out by the displaydevice 110 are in the left column, while steps generally carried out bythe barcode reader or scanner 200 are in the right column. In step 210,a first barcode (or other code or indicia) is displayed on the displayof the display device 100. This is scanned by the barcode reader in step220. Within the display device 100, a sensor, such as an optical sensoror camera receives data indicating that the scan is occurring in step230. A processor or the like determines that a scan is happening basedon receipt of a light pulse, for example, from the reader 200. Thelight, in embodiments of the disclosed technology, is at a discretefrequency within a 50 nm or 10 nm band. Within the band of light(visible, infrared, or ultraviolet) the magnitude of the light is atleast twice the intensity (lux) of all other such light frequenciesreceived. It can also be 5, 10, or 20 times the ambient light or lightreceived at other frequencies which indicates that the code is beingread. In response, the first barcode or other indicia displayed isremoved from the display and a second barcode is displayed in step 240.In embodiments of the disclosed technology, this change in barcode isunknown and undetected by the barcode reader 200 and any processor orthe like contained within a housing of the barcode reader. The changefrom the first code displayed in 210 through the second code beingdisplayed in step 240 can take place in a matter of tenths of a second,such as less than 1/10th of a second, less than ½ of a second, or lessthan one second. The second barcode is then read by the barcode readerin step 250. Thus, from the perspective of the barcode reader, inembodiments of the disclosed technology, the reader simple scans andreads a single code without sensing that the displayed code has changedafter emitting light on the display device and before actually readingthe code.

In some embodiments, the display device changes back to the first barcode (carrying out step 210 again) after determining that the scan(reading) of the second barcode is finished. In one embodiment, thisdetermination is made based on no longer receiving the laser or LEDlight emitting from the barcode reader 200 on the camera or opticalsensor 130 of the display device 100. This may not indicate that thebarcode was read, but at least, that it's no longer trying to be read.As such, in this embodiment, the second barcode or code in step 240 isdisplayed only when there is light of a discrete wavelength shining onthe display, which makes it more difficult to take a picture of or seethe second barcode. The second barcode is only displayed, in thisembodiment, with the specific wavelength of light above a thresholdshining thereupon.

In another embodiment, the scan is determined as finished based on anindication that the barcode has been read in step 260, which istransmitted from the barcode reader 200 to the display device 100. Oneexample of how this transmission takes place is with an audible “beep”or sound which takes place after the barcode reader 200 successfullyreads the barcode in step 250. The “beep” upon reading the barcode iswell known to those who, for example, shop at supermarkets and hear thefamiliar beep after each item is scanned. Once this beep is detected bythe display device 100, even if the laser/light from the barcode reader200 is still shining thereupon, the display can revert from the secondbarcode (step 240) to the first barcode (steps 270 and 210).

The step 260 of indicating that the second barcode has been read is onlycarried out in some embodiments of the disclosed technology. However,when it is carried out, other ways include with wirelesstransmission/communication with the display device 110 such as via radiofrequency or a packet-switched network. The barcode reader 200 mightsend, via a data network, what it has read from the first or secondbarcode, or some form or hash value thereof, to the display device whichthen displays the second barcode. The second barcode, or part thereof,can also be sent back from the reader to the display device in someembodiments as a form of verification before the second barcode is nolonger displayed on the display device 100.

Further, the method shown in FIG. 2 can be carried out in its entiretyin less than 1 second or ½ a second in embodiments. Still further, itcan be carried out repeatedly, back to back. After the scan is finishedin step 270, then when step 210 is repeated, it can be done for adifferent first and/or second barcode. That is, once the second barcodeis scanned, the next is ready for scan. One can keep scanning barcodes,one right after the next. As soon as one scan of a second barcode instep 240 is completed, the next cycle begins with every changingbarcode. The barcodes can be coupons, so for example, where someone has10 coupons, they can be scanned in quick succession (less than 1 secondper cycle from steps 210 through 270), one after the other.

FIG. 3 is a high-level device diagram of devices used when embodimentsof disclosed technology are carried out. The display device 100 is adevice with at least one side having both a screen or display 120 andoptical sensor 130. It further can have a plurality of input/outputs124, such as wireless network (802.11 “wi-fi”/cellular) transceiver,touch screen, and microphone or speaker. The optical sensor 130 can be acamera receiving still pictures of video which are interpreted. Aprocessor can determine the wavelength/frequency of received light andwhen this received light is above a threshold at a particular frequencyor frequency range. In this manner, the device determines when thescreen/display 120 is being read by another device and can transmit thisdata through a transmitter 132.

Likewise, the code reading device 200 can have a screen/display 220, aninput/output 220, an optical sensor 230 and a transmitter 232. Elementsof the display device have been incremented by 100 when shown withreference to the code reading device 200. The transmitters enablewireless transmission and receipt of data via a packet-switched network,such as packet-switched network 130. This network, in embodiments,interfaces with a telecommunications switch 132 which routes phone callsand data between two of the bi-directional transceivers 110 and 120.Versions of these data, which include portions thereof, can betransmitted between the devices. A “version” of data is that which hassome of the identifying or salient information as understood by a devicereceiving the information. For example, a transmitter may transmit datastored in the barcode as a series of alphanumeric characters, but thedata is stored in an image, as the barcode, when displayed.

Referring again to the telecom switch 132, a device and node where dataare received and transmitted to another device via electronic orwireless transmission, it is connected to a hub 134, such as operated byan entity controlling the methods of use of the technology disclosedherein. This hub has a processor 135 deciding how the bi-directionaltransceivers 110 and 120 are matched to each other, and whichbi-directional transceiver 120 receives instructions to travel to alocation and perform a service/job. This hub 134 further has memory 136(volatile or non-volatile) for temporary storage of data, storage 138for permanent storage of data, and input/output 137 (like theinput/output 124), and an interface 139 for connecting via electricalconnection to other devices.

FIG. 4 shows a high-level block diagram of a device that may be used tocarry out the disclosed technology. Device 600 comprises of a processor650 that controls the overall operation of the computer by executing thedevice's program instructions which define such operation. The device'sprogram instructions may be stored in a storage device 620 (e.g.,magnetic disk, database) and loaded into memory 630 when execution ofthe console's program instructions is desired. Thus, the device'soperation will be defined by the device's program instructions stored inmemory 630 and/or storage 620, and the console will be controlled byprocessor 650 executing the console's program instructions. A device 600also includes one, or a plurality of, input network interfaces forcommunicating with other devices via a network (e.g., the internet). Thedevice 600 further includes an electrical input interface. A device 600also includes one or more output network interfaces 610 forcommunicating with other devices. Device 600 also includes input/output640 representing devices, which allow for user interaction with acomputer (e.g., display, keyboard, mouse, speakers, buttons, etc.). Oneskilled in the art will recognize that an implementation of an actualdevice will contain other components as well, and that FIG. 4 is ahigh-level representation of some of the components of such a device,for illustrative purposes. It should also be understood by one skilledin the art that the method and devices depicted in FIGS. 1 through 3 and5 through 6 may be implemented on a device such as is shown in FIG. 4.

FIG. 5A is a photograph of a code reading device, as seen by a camera ofa display device. FIG. 5B is a grey-scale image of the photograph ofFIG. 5A with each color representative of a range of brightness. FIG. 5Cshows lines drawn over the greatest differences in brightness oversmallest portion of the image of FIG. 5B. The code reading device is anexample of a device 200 described with reference to FIG. 1. Here, thephotograph in FIG. 5A shows the device inactive. The greatest areas ofchange in light intensity (brightness) are actually from backgroundlighting. Diagonal lines in FIG. 5C are marked based on such greatestchanges in intensity. As these changes are multiple and lack enoughintensity of change over distance, no determination that the device isbeing scanned with a code reader that functions by way of light (e.g.laser) is being made at the time shown in FIGS. 5A, 5B, and 5C.

FIG. 6A is a photograph of the code reading device of FIG. 5A, while thecode reading device is actively scanning for a code. FIG. 6B is agrey-scale image of the photograph of FIG. 6A with each colorrepresentative of a range of brightness. FIG. 6C shows lines drawn overthe greatest differences in brightness over smallest portion of theimage of FIG. 6B. Here, with the code reader 200 actively scanning, agradient of difference in light over a shorter distance is detectedbased on what's shown in FIG. 6B. The diagonal line is again drawn overthe places of greatest difference in light intensity over distance andthe length and closeness of the diagonal lines is used to determine thata scan is being made.

Described another way, based on brightness of different parts of theimage it is approximated to three levels of brightness: “dark”, “light”and “medium” based on the ⅓ greatest changes in light, ⅓ least change inlight, and ⅓ between the other two categorizations. Positions of thelight and medium sports are determined across the images by scanning onX and Y axis, and finding the edges, i.e. transition from dark tomedium, medium to light and vice versa. Once the edges are determined,the dark part is disregarded for purposes of finding a scanning light.Relative proportions on an imaginary line drawn at 45 degrees to X axis(as well as Y axis due to the sum of angles being 180 degrees) andcompared to certain predefined parameters in terms of size and relativeposition, and a decision is made whether this is a picture of a codereader actively reading the screen of the device or not. Based on userinput of when a code reader is scanning the device displaying thecoupon, the intensity can be calibrated manually to determine same.Further, the more such code readers used across all devices displayingcoupons, the more data points can be used to calibrate each one. Thismethod is efficient and requires a comparatively low amount ofprocessing power than making individual determinations of full colorimages because one need only compare brightness intensity and length ofa diagonal line across the greatest areas of change. Hough transforms,known in the art, can also be used to determine that a code reader whichuses light is being aimed at the device displaying the coupon.

Further, it should be understood that all subject matter disclosedherein is directed at, and should be read only on, statutory,non-abstract subject matter. All terminology should be read to includeonly the portions of the definitions which may be claimed. By way ofexample, “computer readable storage medium” is understood to be definedas only non-transitory storage media.

While the disclosed technology has been taught with specific referenceto the above embodiments, a person having ordinary skill in the art willrecognize that changes can be made in form and detail without departingfrom the spirit and the scope of the disclosed technology. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. All changes that come within the meaning and rangeof equivalency of the claims are to be embraced within their scope.Combinations of any of the methods, systems, and devices describedhereinabove are also contemplated and within the scope of the disclosedtechnology.

We claim:
 1. A method of authentication of a code comprising: exhibitinga first code on a screen visible to a user; detecting a light above athreshold of intensity and/or a light above a threshold change inintensity over a specific distance at a camera facing in a samedirection as said screen; in response to said detecting, changing saidfirst code on said screen to a second code; in response to ending ofsaid detecting, removing exhibition of said second code; wherein saidlight is a laser beam at a specific wavelength of light, said laser beambeing detected by said camera based on said specific wavelength and saidthreshold change in intensity over said specific distance.
 2. The methodof claim 1, wherein said light passes across at least a part of saidfirst code and said second code.
 3. The method of claim 2, wherein aconfirmation is received indicating that said second code has been readusing said light.
 4. The method of claim 1, wherein said second code isdisplayed on said screen only while said light is above a threshold ofintensity is detected by said camera.
 5. The method of claim 4, whereinsaid first code and said second code are intended to be read only by acomputer system.
 6. The method of claim 5, wherein said second code is acoupon.
 7. The method of claim 5, further comprising steps of: receivingdata representative of said first code from a device, indicating thatsaid first code has been read; in response to said receiving datarepresentative of said first code and said detecting, displaying saidsecond code; receiving data representative of said second code from saidanother device and reverting to a display of said first code aftereither said receiving data representative of said second code or saidspecific wavelength of light above said threshold of intensity is nolonger detected by said camera.
 8. The method of claim 1, wherein eachstep of said method is carried out in under one second.
 9. A method ofdisplaying a barcode comprising the step of: exhibiting a visualrepresentation of a first code on a screen of a device; determining thatsaid first code is being read; changing said first code to a secondcode, said second code being a barcode; determining that said secondcode has been read; removing said second code from said screen; whereindetection of a laser or LED light beam is made by a camera on a sameside of said device as said screen; wherein said determining that saidsecond code has been read is determined based on a particular period oftime passing, said particular period of time being less than one secondwhereby said a step of reverting back to a display of said first code iscarried out.
 10. The method of claim 9, wherein said determining thatsaid first code is being read is determined by way of detecting a laseror LED light beam hitting said device.
 11. The method of claim 9,wherein said determining that said second code has been read isdetermined based on receiving an audible sound of a specific frequencyemitted by a barcode reader upon which a step of reverting back to adisplay of said first code is carried out.
 12. The method of claim 9,wherein said determining that said second code has been read isdetermined by way of determining that said laser or LED light beam is nolonger hitting said device.
 13. A method of displaying a barcodecomprising the step of: exhibiting a visual representation of a firstcode on a screen of a device; determining that said first code is beingread; changing said first code to a second code, said second code beinga barcode; determining that said second code has been read; removingsaid second code from said screen; wherein said determining that saidsecond code has been read is determined by way of detecting a change inat least one of frequency, pulsation rate, or intensity of a laser orLED light beam; wherein said detecting said change includes saiddetecting a change in said pulsation rate and/or frequency.
 14. Themethod of claim 13, further comprising repeating each step of claim 13with another first bar code and another second bar code; wherein saidmethod of claim 13 and said repeat of each step of claim 13 in totaltakes less than one second.
 15. The method of claim 13 wherein saiddetecting said change includes said detecting a change in saidintensity.